//package com.matrix.maprender;
//
//import java.io.IOException;
//import java.io.StringWriter;
//import java.io.Writer;
//
//import com.badlogic.gdx.files.FileHandle;
//import com.badlogic.gdx.graphics.g2d.tiled.TiledLoader;
//import com.badlogic.gdx.graphics.g2d.tiled.TiledMap;
//import com.badlogic.gdx.utils.XmlWriter;
//
//public class TMXGenerator {
//	TiledMap map;
//	int[][][] tileIds;
//	//some attributes of TMX map
//	int tilewide = 32;
//	int tilehigh = 32;
//	String tilesetName = "tileset";
//	int tilesetFirstId = 1;
//	int tilesetTilewide;
//	int tilesetTilehigh;
//	String tilesetSource = "tileset.png";
//	
//	public TMXGenerator(int[][][] pMapToplogy){
//		tileIds = new int[pMapToplogy.length][pMapToplogy[0].length][pMapToplogy[0][0].length];
//		tileIds = topToTile(pMapToplogy);	
//	}
//	
//	public void writeTMX(String pFileName){
//		StringWriter writer = new StringWriter();
//		XmlWriter xml = new XmlWriter(writer);
//		//in libgdx 0.92, TileLoader only can read tmx file from FileHander, future version will support tmx string
//		//this implement is NOT use on Android version, just for test
//		FileHandle tmxFile = new FileHandle(pFileName);
//		
//		try {
//			//map's start
//			xml.element("map")
//			.attribute("orientation", "orthogonal")
//			.attribute("version", "1.0")
//			.attribute("width", tileIds[0][0].length)
//			.attribute("height", tileIds[0].length)
//			.attribute("tilewidth", tilewide)
//			.attribute("tileheight", tilehigh);
//			
//				//tileset
//				xml.element("tileset")
//				.attribute("name", tilesetName)
//				.attribute("firstgid", tilesetFirstId)
//				.attribute("tilewidth", tilesetTilewide)
//				.attribute("tileheight", tilesetTilehigh)
//					.element("image")
//					.attribute("source", tilesetSource)
//					.pop()
//				.pop();
//				
//				//layer
//				for(int layer = 0;layer < tileIds.length;layer++){
//					String csv = "";
//					for(int row = 0;row < tileIds[layer].length;row++){
//						csv += toCSV(tileIds[layer][row]) + "\n\t\t\t";
//					}
//					
//					xml.element("layer")
//					.attribute("name", "layer"+(layer+1))
//					.attribute("width", tileIds[0][0].length)
//					.attribute("height", tileIds[0].length)
//						.element("data")
//						.attribute("encoding", "csv")
//						.text(csv)
//						.pop()
//					.pop();
//				}			
//			
//			//map's end
//			xml.pop();
//			
//			//write to a tmp file
//			Writer fileWriter = tmxFile.writer(false);
//			fileWriter.write(writer.toString());
//			fileWriter.close();
//		} catch(IOException e){
//			throw new RuntimeException(e);
//		}
//		map = TiledLoader.createMap(tmxFile);
//	}
//	
//	public int[][][] getTileIds(){
//		return tileIds;
//	}
//	
//	public TiledMap getTileMap(){
//		return map;
//	}
//	
//	private int[][][] topToTile(int[][][] pToplogy){
//		return pToplogy;
//	}
//	
//	private String toCSV (int[] values) {
//		String temp = "";
//		for (int i = 0; i < values.length; i++) {
//			temp += values[i] + ",";
//		}
//		return temp;
//	}
//}
